home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
jovept2.arc
/
READ.ME
< prev
next >
Wrap
Text File
|
1985-05-30
|
12KB
|
275 lines
JOVE/MS-DOS Installation
K. Mitchum 4/85
INTRODUCTION
Jove is an emacs-like editor written in C. Originally developed under
Unix using the termcap interface, the sources have been modified to work
with either termcap or dedicated driver, and under either Unix or
MS-DOS.
WHAT IS HERE
All the sources are here with a few exceptions. The termcap cursor
optimization in "jove-curs.c" has been elliminated, although the
original can be substituted for "curs.c" with a few modifications. Users
familiar with the original Jove sources will note that some
rearrangements and additions have been made: all terminal i/o is
localized to the files "curs.c" and "terms.c" with dedicated driver routines
in a separate file. A driver for the ibm is provided (td.c) although you
may prefer to write your own; a sample dedicated terminal driver for
Unix, "h19.c" is also provided. Chosing between options is mostly a
matter of chosing the proper defines and linking the appropriate driver.
WHAT ISN'T
All code which requires child processes is ifdeffed out if compiled with
"UNIX" defined. Most of this code is simply inappropriate to a single
process o.s., although one might wish to kludge some things, such as
running a shell in a window. Hence, you can't expect Jove under MS-DOS
to run the compiler, or "make" a program as you can under Unix.
The tags package has been included, but not tested under MS-DOS. Unlike
emacs, Jove requires a separate tags program to create the tagfile.
There is nothing magic about this code, and it will probably work if you
want to write a tags program.
WHAT YOU NEED TO RUN JOVE UNDER MS-DOS
If you have an IBM PC or PC-compatible machine, with at least 256K of
memory, you can compile the sources directly without modification.
Without modification to the sources, the machine must have software
keyboard routines similar to the ibm, and a display like either the ibm
monochrome or color display.
It is relatively easy to adapt the sources to any MS-DOS machine,
however. The low level keyboard routines are in the file "rawio.asm"
which is short and sweet and easily modified. The screen routines are in
the file "td.c" and should be self evident.
While a hard disk is not mandatory for running Jove, the frequency of
swapping to the temp file on a floppy will probably drive you insane.
If you are insistent about using Jove on a floppy-only machine, you
should limit the size of the temp file (see "tune.h") and consider
optimizing the swap routines.
The only machines that Jove has been tested on so far are: IBM PC,
IBM PC portable, IBM PC XT, Zenith Z-150, Micromint Mpx-16. A driver for
the Texas Instruments may be out soon.
WHAT YOU NEED TO COMPILE AND LINK JOVE UNDER MS-DOS
The sources have been developed using the Computer Innovations C86
compiler, versions 2.10 and 2.20. The "large" memory model is necessary.
If you have 2.20 or later versions of 2.10 there should be no problem.
Some early 2.10 versions have errors in the library, particular a stack
problem with "longjmp()" in the large memory model, and are missing the
function "filedir()" which is necessary.
Some calls specific to the C86 library are used, so if you use a
different compiler, you will need to write some routines to substitute
for these. The most important are:
_fmtout() used in "format.c". This is the formatting call which
handles variable arguments, similar to _doprnt() under Unix. You will
have to search your library sources.
abstoptr() and ptrtoabs() used in the screen driver. You can
probably get around these fairly easily, or write your own driver.
filedir() used in "stat.c". This can be easily written in assembly
language - return a null terminated list of files in the current
directory.
setjmp() and longjmp(). These are not implemented in some versions
of C. Your compiler MUST support these.
If you value your sanity, you will get a hold of a hard-disk based
system to compile and link Jove, even if you target machine is a
floppy-based system. Even with the hard disk, it takes about an HOUR to
compiler and link all the files. I have no idea how long this would take
using floppies, and have no intention of finding out.
FILES PRESENT
make/make.c These are the sources for "make" for MS-DOS, from the
make/makeutil.c usenet, adapted to compile with C86.
make/makefile Makefile for "make" for MS-DOS.
makefile.ibm Makefile for MS-DOS version, works with "make", above.
Modify for you own system.
makefile.unix Makefile for Unix system.
joveline Info for link.
CHANGES.DOC General info. and bug list.
READ.ME This file.
jove.man Formatted manual entry.
buf.c buffer and file related commands.
case.c case-region and case-word functions.
cmode.c routines for c-mode, paren-matching.
curs.c cursor placement.
delete.c character, word, line deletion.
disp.c screen update routines.
draw.c message and modeline formatting.
extend.c completer and misc. routines.
format.c formatting, variable args.
funcs.c function defs, etc.
inc.c incremental search.
insert.c insert, yank routines.
inter.c help routines.
io.c file routines.
main.c main loop.
marks.c routines to move the mark.
meta.c meta commands.
misc.c misc. commands.
move.c routines to move the point.
proc.c shell commands.
re.c search/replace, etc.
screen.c screen image routines.
tag.c tag routines.
temp.c manipulating temp file.
term.c basic termcap initialization.
terms.c terminal/screen output routines.
ttout.c character output routines.
wind.c window management routines.
stat.c MS-DOS kludge for stat() call.
strncpy.c MS-DOS slightly mod from std library.
gcsec.asm MS-DOS time kludge for sleep().
rawio.asm MS-DOS raw character input.
td.c MS-DOS driver for ibm mono, color, or tecmar
graphics master display.
h19.c UNIX sample dedicated driver.
files.h file mode defs.
funcs.h misc. function defs.
jove.h main include file.
screen.h screen image structs and declarations.
signal.h for MS-DOS kludges.
stat.h for MS-DOS kludges.
td.h MS-DOS screen defs.
tec.h MS-DOS hardware screen defs.
temp.h temp file defs.
term.h terminal/screen defs.
termcap.h termcap defs.
tm.h screen driver struct.
tune.h system specifics.
whoami.h kludge.
lib/findcom.c Unix-only. describe command function.
lib/describe.com command descriptions for findcom.
lib/commands.1 Unformatted manual entry.
lib/jove.1 Unformatted manual entry.
OPTIONS
UNIX Unix o.s. If undefined, then MS-DOS assumed.
VAX Valid if Unix defined only.
TERMCAP If Unix, use termcap driver. Otherwise, assume
a special driver such as "h19.c" installed.
Do NOT define this if using MS-DOS.
IBMMONO If using "td.c" driver, specifies IBM monochrome display
or equivalent hardware.
COLOR If using "td.c" driver, specifies IBM color display
or equivalent hardware. NOTE: With the IBM color display
and the "td" driver, you will experience "flicker" when
writing to the screen. This will not be true when using a
Zenith Z-150 or similar machine. You can modify the
driver to check for scan retrace using the 6845 but
the driver will be slower.
TECMAR If using "td.c" driver, specifies TECMAR monochrome display
in 43-line mode. If you are using the graphics master
and don't want 43-lines, then specifiy IBMMONO.
INSTALLATION FOR MS-DOS
1) Copy all the .c and .asm files to an appropriate directory on your
system. Copy the makefile ("makefile.ibm") to the directory and rename
it "makefile". Copy "jovelink" into the current directory. Be sure you
have enough disk space!
2) Create a version of "make" which will work on the makefile.
The necessary files are "make.c" and "makeutil.c".
3) Edit the makefile for jove ("makefile.ibm") for you system
configuration. The key items to check are default search paths for
include files (i.e. "\src\include") and your screen configuration for
IBMMONO, TECMAR, or COLOR (see above). Also edit the paths under
"install" to be appropriate for your system.
4) Edit the file "jovelink" so that the path to your library is correct.
"biglib" is the name I use for the "C86B2S" library. Make certain you
specify the "large" model library.
5) Put the necessary include files for the assembly language files
(model.h, prologue.h, epilogue.h) in the current directory and edit
"model.h" to reflect the large memory model. These include files are
supplied with C86.
6) If you have more than 256K and want Jove to use it, copy "default.c"
from "base.arc" in the C86 sources and change _MAXFMEM to a suitable
value. compile "default.c" and edit "jovelink" to include the .obj
file before the library search. See the C86 manual (p. 3-4) for
information on this.
7) Run "make". The program takes about an hour to compile and link on a
system with a hard disk and "buffers = 10" in the config file. You will
get some WARNINGS from the compiler, particularly about "function to
ptr" conversion. You can ignore these.
OPERATION
Jove under MS-DOS operates about the same as under Unix, with a few
differences. Under MS-DOS, the "temp" file is placed in the current
directory. It is created when Jove is fired up, and goes away when Jove
exits. The temp file is limited to 256K but this can be changed (see
"tune.h"). File names can be entered in upper or lower case - Jove will
give buffers associated with file names an upper case name. However, the
buffer can be referenced in lower case. Files outside the current
directory can be edited, but only by giving the ABSOLUTE path to the
file: i.e. "\src\jove\main.c" will work but "..\main.c" will not.
Jove has been run under MS-DOS on four different machines for about 5
months now without significant problems. There are a few bugs which need
to be modified (see the file "changes.doc"). Please let me know of your
experiences, gripes etc.. Try to be constructive and informative - I
didn't write Jove, I only hacked it, and in places you will know more
about the code than I do!
Ken Mitchum (km@cadre.ARPA)
Decision Systems Laboratories
University of Pittsburgh
1360 Scaife Hall
Pittsburgh, Pa. 15261
April 18,1985